package com.miplus.ccrm.core.controller.vo.commission;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author： Yaohui
 * @Date： 2025/2/24 18:13
 * @Describe：
 */
@Data
public class RepaymentDetailsMonthPageResVo implements Serializable {

    /**
     * 委案明细id
     */
    private Long casesDetailsId;
    /**
     * 案件委案记录id
     */
    private Long caseHistId;

    /**
     * 客户编号
     */
    private String customernumber;

    /**
     * 客户姓名
     */
    private String custName;

    /**
     * 案件id
     */
    private Long creditcaseid;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 商户编号
     */
    private String merchantId;

    /**
     * 还款日
     */
    private Integer repayDays;

    /**
     * 入催时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date indt;


    /**
     * 状态:  0：新案 1：已分案  2：已分配  3：回收   4：已退回，9：结案
     */
    private Integer status;
    /**
     * 状态:  0：新案 1：已分案  2：已分配  3：回收   4：已退回，9：结案
     */
    private String statusDsc;

    /**
     * 分案批次号
     */
    private String distbatchid;

    /**
     * 分案时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date distdt;

    /**
     * 分案队列
     */
    private String disttag;

    /**
     * 案件分组标签
     */
    private String caseGrpTag;

    /**
     * 客户分组标签
     */
    private String custGrpTag;


    /**
     * 分配批次号
     */
    private String assignbatchid;

    /**
     * 分配时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date assigndt;


    /**
     * 催收部门(委案机构)
     */
    private String sendtodept;

    /**
     * 催收单位描述
     */
    private String sendtodeptdsc;
    /**
     * 催收员
     */
    private String sendtousr;

    /**
     * 委案开始日期
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date cpStartTime;

    /**
     * 委案结束日期
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date cpEndTime;

    /**
     * 委案结案时间（出催时间）
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date cpOverTime;

    /**
     * 回收时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date recycledt;

    /**
     * 回收描述
     */
    private String recycledsc;

    /**
     * 延期截至时间,  延期时间内，不能自动分案
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date delayenddt;
    /**
     * 委案总金额
     */
    private BigDecimal cpTotalamt;
    /**
     * 委案本金
     */
    private BigDecimal cpAmt;

    /**
     * 委案利息
     */
    private BigDecimal cpInterest;

    /**
     * 委案费用
     */
    private BigDecimal cpCost;
    /**
     * 委案剩余本金[等于委案时（逾期本金+未到期应还本金）]
     */
    private BigDecimal cpRemainingPrincipal;

    /**
     * 委案逾期天数
     */
    private Integer cpOverdueDays;

    /**
     * 回收后逾期天数
     */
    private Integer afterRecoveryOverdueDays;

    /**
     * 回收后逾期金额
     */
    private BigDecimal afterRecoveryOverdueAmount;

    /**
     * 回收后逾期本金
     */
    private BigDecimal afterRecoveryOverduePrincipal;

    /**
     * 回收后剩余本金
     */
    private BigDecimal afterRecoveryRemainingPrincipal;

    /**
     * 出催时剩余本金
     */
    private BigDecimal outRemainingPrincipal;


    /**
     * 是否基佣0:否1:是
     */
    private Integer baseCommission;

    /**
     * 月份
     */
    @JsonFormat(pattern ="yyyy-MM",timezone = "GMT+8")
    private Date crMonth;
    /**
     * 结账状态
     */
    private Integer checkout;
    /**
     * 折算系数
     */
    private Double conversionCoefficient;
    /**
     * 计佣还款金额处理系数
     */
    private Integer forCommissionCoefficient;

    /**
     * 结账备注
     */
    private String anAccountRemark;

    /**
     * 更新时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date mddt;

    /**
     * 更新人
     */
    private String mdusr;

    /**
     * 计佣方案
     */
    private Integer commissionRule;
    /**
     * 计佣方案
     */
    private String commissionRuleDsc;

    /**
     * 分案备注
     */
    private String batchname;
}
